package 字节缓冲流;

import java.io.*;

/*
* IBufferOutputStream:该类实现缓冲输出流。
* 通过设置这样的输出流，应用程序可以向底层输出流写入字节，而不必为写入的每个字节导致底层系统的调用
* IBufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组。
* 当从流中读取或跳过字节时，内部缓冲区将根据需要从包含的输入流中重新填充，一次性填充很多字节
* */
/*
* BufferedOutputStream(OutputStream out) 创建字节缓冲输出流对象写数据
* BufferedInputStream(InputStream in) 创建字节缓冲输入流对象读数据
* */
public class 字节缓冲流构造方法 {
    public static void main(String[] args) throws IOException {
        /*创建字节缓冲输出流BufferedOutputStream(OutputStream out) 写数据*/
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\111\\222.txt"));
        /*写数据*/
        bos.write("hello\r\n".getBytes());
        bos.write("world\r\n".getBytes());
        /*释放资源*/
        bos.close();

        /*创建字节输入流读取数据BufferedInputStream(InputStream in)*/
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\111\\222.txt"));
        /*一次性读取一个字节数组的数据*/
        byte[] bys = new byte[1024];
        int len;
        while ((len=bis.read(bys))!=-1){
            System.out.println(new String(bys,0,len));
        }
        /*释放资源*/
        bis.close();
    }
}